PG:DatabaseQuery
Bezeichnung |
PG:DatabaseQuery -- Führt eine SQL-Abfrage aus.
Übersicht |
Fail, ErrorCode, fields, Result(Table) = PG:DatabaseQuery(SQL$, ConnectionID)
Beschreibung |
Es werden nur Abfragen unterstützt die keine Inhalte der Datenbank verändern. Möchten Sie beispielsweise Einträge einer Tabelle verändern, benutzen Sie bitte PG:DatabaseUpdate.
Fields und Result kurz erklärt:
Angenommen fields enthält den Wert 3. Das würde bedeuten das Ihre Abfrage Ergebnisse in drei Spalten brachte.
Result[0], Result[1] und Result[2] sind somit ein Datensatz, also eine Zeile der Tabelle.
Enthält Result noch weitere Einträge würde der zweite Datensatz bei Result[3] beginnen und bei [5] enden. usw. usw....
Eingaben |
SQL$
Dieser String muss die SQL-Abfrage enthalten.
ConnectionID
ID der Netzwerkverbindung
Rückgabewerte |
Fail
True wenn ein Fehler aufgetreten ist.
False wenn alles funktioniert hat.
ErrorCode
Einen dreistelligen internen Fehlercode oder einen fünfstelligen PostgreSQL Fehlercode.
Ansonsten False.
fields
Enthält die Anzahl der Spalten einer Tabelle
Result
Result ist eine Tabelle die alle Ergebnisse der Abfrage enthält. Beginnend beim Index 0
Beispiel |
/**************************************************************** ** ** ** Name: 5_DBQuery ** ** Author: Michael Suther ** ** Date: 07.04.19 ** ** Interpreter: Hollywood 8.0 ** ** Function: Führt eine Suche in der Tabelle "Kunde" durch. ** ** Listet alle Kunden mit Name "Mustermann". ** ** ** ****************************************************************/ @INCLUDE "PostgreSQL_Lib.hws" Block ;Netzwerkverbindung zum PostgreSQL-Server herstellen. Local ConnectionID = OpenConnection(Nil,"localhost",5432)
;Einige Variablen definieren Local Fail Local Errorcode Local fields Local Database$ = "postgres" Local Username$ = "test" Local Passwort$ = "test" Local Result = {} Local items, i, a
;Anmeldung Fail, ErrorCode = PG:OpenDatabase(Database$, Username$, Passwort$, ConnectionID)
; Auswerten der Rückgabewerte If Fail = False NPrint("Verbindung wurde erfolgreich hergestellt.") Else NPrint("Die Verbindung ist fehlgeschlagen,") NPrint("Fehlercode: ", ErrorCode) EndIf
;Alle Kunden mit Nachname Mustermann anzeigen SQL$ = "SELECT * FROM Kunde WHERE name LIKE 'Mustermann'" Fail, Errorcode, fields, Result = PG:DatabaseQuery(SQL$, ConnectionID) ; Auswerten der Rückgabewerte If Fail = False items = TableItems(Result) For i = 0 To items-1 Step fields For a = 1 To fields Print(Result[i + a-1], " ") Next NPrint("") Next Else NPrint("Query fehlgeschlagen.") NPrint("Fehlercode: ", ErrorCode) EndIf
WaitLeftMouse
;Verbindung zur Datenbank schließen. PG:CloseDatabase(ConnectionID)
EndBlock |
Mit dem Personal Edition von HelpNDoc erstellt: Einfacher CHM- und Dokumentationseditor